package com.milo.atomic;

import java.util.concurrent.atomic.AtomicIntegerArray;

/**
 * @author Milo Lee
 * @create: 2019-04-29 14:23
 * @description: 演示AtomicIntegerArray的用法[原子更新数组]
 **/
public class AtomicIntegerArrayTest {

    static int[] value = new int[]{1, 2};
    /**
     * 数组value通过构造方法传递进去，然后AtomicIntegerArray会将当前数组
     * 复制一份(底层 this.array = array.clone();)，所以当AtomicIntegerArray
     * 对内部的数组元素进行修改时，不会影响传入的数组
     */
    static AtomicIntegerArray ai = new AtomicIntegerArray(value);

    public static void main(String[] args) {

        ai.getAndSet(0, 3);
        System.out.println(ai.get(0));
        System.out.println(value[0]);
    }

}
